SMTP (Port 25)
Connect
Telnet
Kết nối tới máy chủ SMTP qua Telnet trên cổng 25 để tương tác trực tiếp:
telnet <ip> 25
Enumeration
Liệt kê bản ghi MX
Sử dụng dig để tìm các máy chủ email (MX servers) của một miền:
dig +short mx <ip>
Liệt kê người dùng
Sử dụng smtp-user-enum để kiểm tra sự tồn tại của người dùng qua phương thức VRFY:
smtp-user-enum -M VRFY -U /usr/share/wordlists/metasploit/unix_users.txt -t <ip>
Với nhiều máy chủ:
for server in $(cat smtpmachines);
do echo "*****" $server "******";
smtp-user-enum -M VRFY -U userlist.txt -t $server;
done
Attack Vectors
Khai thác Open Relay
Kiểm tra cấu hình Open Relay để gửi email tới bất kỳ địa chỉ nào:
telnet <ip> 25
MAIL FROM:<test@example.com>
RCPT TO:<test2@anotherexample.com>
DATA
Subject: Test open relay
Test message
.
QUIT
Post-Exploitation
Các câu SMTP thông dụng
| Command | Description | Usage |
|---|---|---|
HELO | Xác định the client to the server. | HELO example.com |
EHLO | Extended HELLO. | EHLO example.com |
MAIL FROM: | Chỉ định địa chỉ email của người gửi | MAIL FROM: <sender@example.com> |
RCPT TO: | Chỉ định địa chỉ email của người nhận | RCPT TO: <recipient@example.com> |
DATA | Cho biết sự bắt đầu của phần thân thư | DATA |
RSET | Thiết lập lại phiên làm việc | RSET |
NOOP | Không hoạt động; dùng để test | NOOP |
QUIT | Kết thúc phiên làm việc | QUIT |
VRFY | Kiểm tra xem user có tồn tại hay không | VRFY <USER> |
EXPN | Kiểm tra user có thuộc danh sách gửi thư không | EXPN <USER> |